; Defines not
(defun not (c) (if (= c nil) t nil))

; Defines unless
(defmacro unless (condition then) `(if (= condition nil) then nil))

; Defines greater-equals
(defun >= (elem1 elem2) (or (> elem1 elem2) (= elem1 elem2)))

; Defines lesser-equals
(defun <= (elem1 elem2) (or (< elem1 elem2) (= elem1 elem2)))

; Defines not-equal
(defun <> (elem1 elem2) (not (= elem1 elem2)))

; Defines zero?
(defun zero? (elem) (= elem 0))

; Defines positive?
(defun positive? (elem) (> elem 0))

; Defines negative?
(defun negative? (elem) (< elem 0))

; Defines odd?
(defun odd? (elem) (= (mod elem 2) 1))

; Defines even?
(defun even? (elem) (= (mod elem 2) 0))

; Defines nil?
(defun nil? (elem) (= elem nil))
